# 函数中是否有返回值，取决于函数中是否有return操作
# 函数内部有return时，此函数有返回值，返回对应的结果，若有没有return，则返回none
# 如有需要返回多个结果，则各结果之间以，方式分隔，以元祖的方式返回
# 一个函数内部可以有多个return操作，但是只会执行一个
def func1():
    return 1
    return "tom"
    return 1,8,"tom",3.14
    pass
num=func1()
print(num)
# Q：使用不定长参数，实现可以传递任意个参数，打印所有参数的和以及所有参数
def getSum(*args):
    '''
    输入任意个参数，计算参数之和，返回所有参数的累加结果,及参数
    :param args: 可以传递任意个参数
    :return:所有参数及所有参数之和
    '''
    list1=[]
    result=0   #声明一个临时变量用来存储计算结果
    for item in args:   #循环遍历传进来的参数
        list1.append(item)
        result=result+item   #计算所有参数的累加结果
        pass
    list1.append(result)
    return list1
    pass
print(getSum(1,5,6))
# 函数的嵌套使用
# 函数可以嵌套调用，即在一个函数内部调用另外一个函数。
# 内层函数可以访问外层函数中定义的变量，但不能重新赋值（rebind）
def func5():
    print("我是func5---start---------------------")
    print("我是func5---逻辑代码---------------------")
    print("我是func5---end---------------------")
    pass
def func6():
    print("我是func6---start---------------------")
    func5()
    print("我是func6---end---------------------")
    pass
func6()